package com.ch05.controller;

import com.ch05.controller.vo.ResultVO;
import com.ch05.entity.User;
import jakarta.servlet.http.HttpServlet;
import org.springframework.http.HttpStatus;

/**
 * @ClassName BaseController
 * @Description 响应类
 * @Author Kx
 * @Date 2025/5/13 11:18
 * @Version 1.0
 */
public class BaseController {
    /**
     * @author: kx
     * @date: 2025/5/13 11:18
     * @param data : 响应数据
     * @return com.ch05.controller.vo.ResultVO<T>
     * @description: 响应成功(带数据)
    */
    protected <T> ResultVO<T> success(T data) {
        ResultVO<T> resultVO = new ResultVO<>();
        // 设置响应状态码
        resultVO.setCode(HttpStatus.OK.value());
        // 设置响应消息
        resultVO.setData(data);
        return resultVO;
    }

    /**
     * @author: kx
     * @date: 2025/5/13 11:21
     * @return com.ch05.controller.vo.ResultVO<T>
     * @description: 响应成功(不带数据)
    */
    protected <T> ResultVO<T> success() {
        ResultVO<T> resultVO = new ResultVO<>();
        // 设置响应状态码
        resultVO.setCode(HttpStatus.OK.value());
        return resultVO;
    }

    /**
     * @author: kx
     * @date: 2025/5/13 11:22
     * @param code : 错误响应码
     * @param message : 错误响应消息
     * @return com.ch05.controller.vo.ResultVO<T>
     * @description: 响应错误信息
    */
    protected <T> ResultVO<T> error(int code, String message) {
        ResultVO<T> resultVO = new ResultVO<>();
        // 设置响应状态码
        resultVO.setCode(code);
        // 响应消息
        resultVO.setMessage(message);
        return resultVO;
    }
}
